Referring to FIG. 1, a DSL modem consists of a transmitter 12 and a receiver 14 connected to the subscriber line's twisted-pair 18 (telephone line) via a so-called hybrid circuit 16. The hybrid 16 is a two-to-four wire interface that connects the twisted-pair subscriber line 18 to the four-wire modem (two-wire transmitter and two-wire receiver). An ideal hybrid is exactly matched to the impedance of the subscriber line and transports the transmitter signal only to the subscriber line and the received signal only to the receiver.
A problem with matched hybrids (non-adaptive) is that different subscriber lines have different impedances, and temperature variations make the impedances slowly time-varying. Consequently, the hybrid cannot be exactly matched to the impedance of the subscriber line, and the transmitted signal “leaks” back into the receiver through the hybrid creating an echo signal as shown in FIG. 1. From the receiver's point of view, the echo signal acts like a powerful noise source reducing the signal-to-noise ratio (SNR) and therefore reduces the performance of the receiver. An echo canceller may be used to reduce the influence of the echo in the received signal.
The main purpose of the echo canceller is to reduce the echo signal produced when the transmitted signal “leaks” back into the receiver via the hybrid. The echo canceller works by first estimating the echo signal from the transmitted signal, and then subtracting the estimated echo signal from the received signal. In order to estimate the echo signal, the echo canceller must model the echo path channel. General speaking, the echo canceller performs a “system estimation,” where the system to be estimated is the echo path channel. Due to the slowly time-varying nature of the echo path channel, the echo canceller must continuously, but infrequently, update the echo path channel estimation. This update is typically accomplished with an adaptive finite impulse response (FIR) filter to continuously track the slowly time-varying echo path channel.
The echo canceller operates in two different modes: the training mode and the echo cancellation mode. In the training mode, the far-end transmitter is forced to be silent while the near-end modem transmits a training sequence in order to estimate the echo path channel. The estimation of the echo path channel may be accomplished using a fast training algorithm followed by an adaptive algorithm such as the LMS-algorithm. After the echo canceller finishes the training mode, it jumps into the echo cancellation mode where the echo canceller performs echo cancellation, i.e. it subtracts the echo signal from the received signal.
Discrete Multi-tone (DMT) modulation is one form of multicarrier modulation that is attractive because of its ability to utilize, and be implemented by, efficient digital signal processing techniques. The basic idea of DMT modulation is to partition the communication channel into orthogonal and memoryless subchannels using the digital signal processing technique known as the Fast Fourier Transform and the Inverse Fast Fourier Transform (FFT/IFFT). Data transmitted through one subchannel is independent of other subchannels under some orthogonal conditions that will be described later. DMT also allows for efficient and flexible allocation of power and bits to each subchannel.
The DMT modulated signal can be described as a composition of N/2 independent carriers, where each carrier has equal bandwidth and a center frequency fi, where i=1 . . . N/2. For example, ADSL uses 255 carriers (subchannels) downstream and 31 carriers upstream. Each one of the carriers is a Quadrature Amplitude Modulated (QAM) signal with an assigned amplitude and phase. The assigned values for the amplitude and the phase are determined by a signal constellation containing a set of complex values. During start-up, the DMT-system measures the signal-to-noise ratio in each subchannel and assigns different numbers of bits to each subchannel (carrier) to maximize performance. This process is known as adaptive bitloading. A subchannel with low signal-to-noise (SNR) is assigned a small number of bits or no bits, and a subchannel with high SNR is assigned many bits. This technique is robust in a typical Digital Subscriber Line scenario where the line conditions are unknown and slowly time-varying.
A DMT signal that is filtered through a physical channel will be subjected to inter-symbol-interference (ISI) because all practical physical channels have a memory. (The impulse response of the channel is non-zero for more than one point in time). This impairment of the physical channel causes the transmitted DMT symbols to interfere with each other (ISI). Furthermore, the transitions between the DMT symbol cause transients in the received signal. These transients cause interference between the carriers in the same DMT symbol. This type of interference is known as inter-channel interference (ICI), where the “channel” refers to the subchannel. The ISI and ICI imply that the received subchannels do not remain orthogonal (independent) to each other, and therefore, the received data will be corrupted.
The received echo signal, like the received data signal, will also be affected by the ISI and ICI, because all practical physical echo path channels have memory. Thus, the echo from one carrier will leak into every other carrier within the same DMT symbol and the next transmitted DMT symbol.
One way to circumvent, or at least reduce, the ISI and ICI in a DMT-based system is to add a cyclic prefix (guard time) to the beginning of each transmitted DMT symbol. The cyclic prefix (CP) is a mechanism to make the subchannels independent of each other, or in other words, memory-less. A cyclic prefix of L samples means that the last L samples of the N samples long time domain symbol is copied to the beginning of the time domain symbols. Thus, the total length of the prefixed time domain symbol is samples. FIG. 2 illustrates the cyclic prefixing.
If the length of the cyclic prefix is greater than the length of the channel memory, then all ISI and all transients causing ICI will be contained within the cyclic prefix. The receiver can then remove all ISI and ICI by simply discarding the cyclic prefix. This means that the channel will only affect the amplitude and the phase of each transmitted carrier, and different subchannels will remain independent (no ISI or ICI). Unfortunately, increasing the length of the cyclic prefix reduces the data rate. For example, suppose that one time domain symbol is N samples long, and the length of the cyclic prefix is L samples. The data rate is reduced by a factor of N/(N+L).
In a practical DMT-system the echo path channel is much longer than the cyclic prefix, and therefore, the received echo signal is subjected to both ISI and ICI. Hence, the part of the echo signal that corresponds to both ISI and ICI must be estimated and subtracted as well. The present invention provides an echo canceller that takes into account intersymbol interference and interchannel interference when estimating an echo signal to be removed from a received signal. The echo canceller calculates the received echo signal completely in the frequency domain, which is particularly beneficial in a DMT type system because the transmitted data is already available in the frequency domain. Accordingly, the echo estimate is determined using a frequency domain model of an echo path channel that includes the effects of interference like ISI and ICI.
In a first example embodiment, the frequency domain model of the echo path channel is determined using a first matrix of coefficients and a second matrix of coefficients. The first matrix is combined with a current transmitted symbol, and the second matrix is combined with a previously transmitted symbol. The sum of these two combinations is used to estimate the echo signal. The coefficients of the first matrix represent how an echo from a currently transmitted frequency domain signal affects a received signal. The coefficients of the second matrix represent how an echo from a previously transmitted domain symbol affects the received symbol. The coefficients of the first and second matrices are adjusted using a difference between the received signal and the estimated signal.
In a second example embodiment, the current transmitted symbol and the previously transmitted symbol are partitioned into real and imaginary parts before being combined with matrices as described in the first example embodiment. This operation reduces the computational complexity by a factor of two compared to the first example embodiment.
In a third example embodiment, the currently transmitted symbol is combined with a first column vector. The previously transmitted symbol is multiplied with a complex exponential term, in order to compensate for the cyclic prefix, and then subtracted from the current transmitted symbol. The resulting signal is combined with a matrix. The vector and matrix combinations are summed and used to estimate the echo signal to be removed from the received symbol. This third example embodiment reduces the computational complexity approximately by a factor of two compared to the first example embodiment.
In a fourth example embodiment, the operations described in the second and third example embodiments are combined resulting in a reduction of computational complexity approximately by a factor of four compared to the first example embodiment.
In a fifth example embodiment, when the transmitter of a transceiver has a lower sampling rate than its receiver, the received echo signal is interpolated at the receiver. The interpolation may also be combined with the operations described in the second example embodiment to reduce the computational complexity by a factor of four compared to the first example embodiment.
In a sixth example embodiment, when the transmitter has a higher rate than the receiver, the echo signal is decimated at the receiver. The decimation may also be combined with the operations described in the second example embodiment to reduce the computational complexity by a factor of four compared to the first example embodiment.
In a seventh example embodiment, when the transmitted symbols are not aligned in time with the received symbols or frames, an asynchronous echo canceller may be used. The asynchronous echo canceller may be combined with any of the previously-described example embodiments.
In a DMT type modem, because all of the data is already available in the frequency domain, there is no need to do any additional Fourier transform or inverse Fourier transform operations, except for the asynchronous echo canceller embodiment which requires one extra IDFT. Moreover, some of the coefficients in the matrices may be very small and ignored, further reducing the computational complexity and memory required.